package org.yzh.protocol.commons.transform.attribute;

import io.github.yezhihao.protostar.annotation.Field;
import org.yzh.protocol.hlj.AppendFileId;
import org.yzh.protocol.jsatl12.AlarmId;

import java.time.LocalDateTime;

/**
 * 驾驶员驾驶行为监测（黑） hex = 0x40  int = 64
 */
public class HljDbm0x40 {

    public static final int key = 64;

    @Field(length = 1, desc = "报警类型：0x00：不可用； " +
            "0x01：疲劳驾驶状态报警； " +
            "0x02：手持接打电话报警； " +
            "0x03：长时间不目视前方报警； " +
            "0x04：驾驶员不在驾驶位置报警； " +
            "0x05：抽烟报警，字段仅适用于报警，如果为预警䈕 位不可用，填入 0x00 即可")
    private int alarmType;

    @Field(length = 1 ,desc = "预警类型: " +
            "0x00：不可用； " +
            "0x01：疲劳驾驶状态预警，字段仅适用于预警，如果为报警䈕 位不可用，填入 0x00 即可")
    private int preWarnType;

    @Field(length = 1, desc = "是否有效提醒驾驶员：0：否；1：是")
    private int remindSuccess;

    @Field(length = 38, desc = "附件标识号")
    private AppendFileId alarmId;

    @Field(length = 1, desc = "预报警扩展信息")
    private int preWarnExtra;


    public int getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(int alarmType) {
        this.alarmType = alarmType;
    }

    public int getPreWarnType() {
        return preWarnType;
    }

    public void setPreWarnType(int preWarnType) {
        this.preWarnType = preWarnType;
    }

    public int getRemindSuccess() {
        return remindSuccess;
    }

    public void setRemindSuccess(int remindSuccess) {
        this.remindSuccess = remindSuccess;
    }

    public AppendFileId getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(AppendFileId alarmId) {
        this.alarmId = alarmId;
    }

    public int getPreWarnExtra() {
        return preWarnExtra;
    }

    public void setPreWarnExtra(int preWarnExtra) {
        this.preWarnExtra = preWarnExtra;
    }
}